﻿Imports System.Data

Partial Class Paginas_AprobacionTecnica
    Inherits System.Web.UI.Page
    Private oDsArticulosPedidos As DataSet
    Private i As Integer

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '        Try
        '            If Session("oDsArticulosPedidosAJ") Is Nothing Then
        '            Else
        '                oDsArticulosPedidos = Session("oDsArticulosPedidosAJ")
        '            End If

        '            i = 0
        '            If Not Me.IsPostBack Then
        '                Session.Timeout = 1000

        '                tblTextosAdicionales.Style.Item("display") = "none"
        '                tblDocumentosSustento.Style.Item("display") = "none"

        '                fnRecuperarValoresURL()
        '                lblCompania.Text = Me.hidCompania.Value
        '                lblUsuario.Text = Me.hidUsuario.Value

        '                Me.lblJobFunction.Text = hidJobFunction.Value
        '                fnCargarNombreCampos()
        '                If hidTaskStatus.Value = 3 Then
        '                    fnEstablecerPantallaEstadoCompletado()
        '                End If
        '                If Not fnCargarRequerimiento() Then Exit Sub
        '                If Not fnCargarDetalleRequerimiento() Then Exit Sub
        '                fnCargarGrillaArticulos()
        '                fnCargarTipoCambio()
        '                fnPrepararGrillas()
        '                fnHabilitarDeshabilitarCamposGrilla()
        '            End If
        '            fnCargarEventos()
        '            lblMensaje.Text = ""

        '        Catch ex As Exception
        '            lblMensaje.Text = "Error inesperado en el Load."
        '            CreateLogFiles()
        '            ErrorLog(Server.MapPath("Logs/ErrorLog"), ex.Message + " " + ex.StackTrace)

        '        End Try
    End Sub

    '    Private Sub fnEstablecerPantallaEstadoCompletado()
    '        Me.txtCampo1.Enabled = False
    '        Me.txtCampo1.CssClass = "CajasTextoInactivas"
    '        Me.txtCampo2.Enabled = False
    '        Me.txtCampo2.CssClass = "CajasTextoInactivas"
    '        Me.txtCampo3.Enabled = False
    '        Me.txtCampo3.CssClass = "CajasTextoInactivas"
    '        Me.txtCampo4.Enabled = False
    '        Me.txtCampo4.CssClass = "CajasTextoInactivas"
    '        Me.txtCampo5.Enabled = False
    '        Me.txtCampo5.CssClass = "CajasTextoInactivas"
    '        Me.btnGrabar.Enabled = False
    '        Me.btnComentario.Enabled = False

    '        Me.dtgGrilla.Enabled = False

    '    End Sub

    '    Private Sub fnCargarEventos()
    '        Me.btnGrabar.Attributes.Add("onclick", "if (!fnRaiseServerEvent_Valid(true, 'Está seguro que desea enviar el formulario?')) return false;")
    '        Me.btnComentario.Attributes.Add("onclick", "if (!fnRaiseClientEvent(false)) return false; return MostrarComentarioCabecera();")
    '        Me.btnTrazabilidad.Attributes.Add("onclick", "if (!fnRaiseClientEvent(false)) return false; return MostrarTrazabilidad()")
    '        Me.btnCerrar.Attributes.Add("onclick", "if (!fnRaiseClientEvent(false)) return false; return Cerrar()")

    '        Me.txtCampo1.Attributes.Add("onkeypress", "return (IngresoSoloCarPermitidos(event));")
    '        Me.txtCampo2.Attributes.Add("onkeypress", "return (IngresoSoloCarPermitidos(event));")
    '        Me.txtCampo3.Attributes.Add("onkeypress", "return (IngresoSoloCarPermitidos(event));")
    '        Me.txtCampo4.Attributes.Add("onkeypress", "return (IngresoSoloCarPermitidos(event));")
    '        Me.txtCampo5.Attributes.Add("onkeypress", "return (IngresoSoloCarPermitidos(event));")        
    '        hypMostrarTextosAdicionales.NavigateUrl = "javascript:MostrarTextosAdicionales();"
    '        hypMostrarDocumentosSustento.NavigateUrl = "javascript:MostrarDocumentosSustento();"
    '    End Sub
    '    Private Sub fnRecuperarValoresURL()

    '        Dim sdominio As String
    '        Dim sError As String
    '        'Dim oNegCompania As New srvNegCompania.srvNegCompania
    '        'Dim oNegReCamposGlobales As New srvNegReCamposGlobales.srvNegReCamposGlobales
    '        'If oNegReCamposGlobales.fnObtenerProceso(1, "", 1, hidProceso.Value, sError) = False Then
    '        '    lblMensaje.Text = "Ocurrio un problema al obtener el nombre del proceso."
    '        'End If
    '        hidCompania.Value = Request.Form("Compania")
    '        Me.hidRequerimiento.Value = Request.Form("Requerimiento")
    '        Me.hidEstacion.Value = Request.Form("Paso")
    '        Me.hidIncidente.Value = Request.Form("Incidente")
    '        Me.hidIncidentePadre.Value = Request.Form("IncidentePadre")

    '        Me.hidUsuarioUltimus.Value = Request.Form("Usuario")
    '        'If oNegCompania.fnObtenerDominio(1, fnObtenerDominioUltimus(hidUsuarioUltimus.Value), sdominio, sError) = False Then
    '        '    lblMensaje.Text = "Ocurrio un problema al obtener el Dominio." + sError
    '        'End If
    '        'hidUsuario.Value = fnObtenerUsuarioConNuevoDominio(sdominio, hidUsuarioUltimus.Value)

    '        Me.hidJobFunction.Value = Request.Form("JobFunction")
    '        Me.hidTaskId.Value = Request.Form("TaskId")
    '        Me.hidTaskStatus.Value = Request.Form("TaskStatus")
    '        Me.hidJobFunctionGroup.Value = Request.Form("JobFunctionGroup")
    '        Me.hdnCorrelativo.Value = Request.Form("CorrelativoMando")

    '    End Sub
    '    Private Sub fnCargarTipoCambio()
    '        Dim oNegTipoCambio As New srvNegTipoCambio.srvNegTipoCambio
    '        Dim rsError As String
    '        Dim bOk As New Boolean
    '        Dim tipocambio As Double
    '        'bOk = oNegTipoCambio.fnObtener(1, C_MONEDA_TIPO_CAMBIO, Date.Today, hidCompania.Value, tipocambio, rsError)
    '        'If Not bOk Then
    '        '    lblMensaje.Text = rsError
    '        'Else
    '        '    hidTipoCambio.Value = tipocambio.ToString
    '        'End If
    '    End Sub
    '    Private Sub fnCargarGrillaArticulos()
    '        Me.dtgGrilla.DataSource = oDsArticulosPedidos.Tables(0)
    '        Me.dtgGrilla.DataBind()

    '    End Sub
    '    Private Sub fnCargarNombreCampos()
    '        Dim rsError As String
    '        Dim rsCampos(5) As String

    '        'Dim oNegReCamposGlobales As New srvNegReCamposGlobales.srvNegReCamposGlobales

    '        'If oNegReCamposGlobales.fnListar(1, "", rsCampos, rsError) Then
    '        '    Me.lblCampo1.Text = rsCampos(0)
    '        '    Me.lblCampo2.Text = rsCampos(1)
    '        '    Me.lblCampo3.Text = rsCampos(2)
    '        '    Me.lblCampo4.Text = rsCampos(3)
    '        '    Me.lblCampo5.Text = rsCampos(4)
    '        'Else
    '        '    lblMensaje.Text = rsError
    '        'End If

    '    End Sub

    '    Private Function fnCargarRequerimiento() As Boolean
    '        Try
    '            Dim bOk As Boolean = False
    '            Dim prioridad As Integer
    '            Dim sError As String
    '            Dim requerimiento As Integer
    '            Dim oDsRequerimiento As DataSet
    '            Dim oNegRequerimiento As New srvNegRequerimiento.srvNegRequerimiento
    '            requerimiento = Convert.ToInt64(hidRequerimiento.Value)
    '            bOk = oNegRequerimiento.fnObtener(1, "", hidCompania.Value, requerimiento, oDsRequerimiento, sError)
    '            If Not bOk Then
    '                lblMensaje.Text = sError
    '            Else
    '                Dim drRequerimiento As DataRow = oDsRequerimiento.Tables(0).Rows(0)
    '                Me.txtFechaRegistro.Text = drRequerimiento.Item(C_CB_FECHA_REQUERIMIENTO)
    '                Me.txtFechaRequerida.Text = drRequerimiento.Item(C_DG_ARTICULOS_FECHA_REQUERIDA)
    '                Me.txtMotivo.Text = drRequerimiento.Item(C_CB_FECHA_MOTIVO)
    '                prioridad = drRequerimiento.Item(C_CB_PRIORIDAD)
    '                Me.txtPrioridad.Text = IIf(prioridad = 1, C_PR_BAJA, IIf(prioridad = 2, C_PR_MEDIA, C_PR_ALTA))
    '                Me.txtNumeroRequisicion.Text = hidRequerimiento.Value
    '                Me.txtCampo1.Text = drRequerimiento.Item(C_CB_CAMPO1)
    '                Me.txtCampo2.Text = drRequerimiento.Item(C_CB_CAMPO2)
    '                Me.txtCampo3.Text = drRequerimiento.Item(C_CB_CAMPO3)
    '                Me.txtCampo4.Text = drRequerimiento.Item(C_CB_CAMPO4)
    '                Me.txtCampo5.Text = drRequerimiento.Item(C_CB_CAMPO5)
    '            End If
    '            Return bOk
    '        Catch ex As Exception
    '            lblMensaje.Text = C_MSG_ERROR_INESPERADO
    '            CreateLogFiles()
    '            ErrorLog(Server.MapPath("Logs/ErrorLog"), ex.Message + " " + ex.StackTrace)

    '        End Try
    '    End Function

    '    Private Function fnCargarDetalleRequerimiento() As Boolean
    '        Try
    '            Dim bOk As Boolean = False
    '            Dim sError As String
    '            Dim requerimiento As Integer
    '            Dim oDsRequerimiento As DataSet
    '            Dim oNegDetalleRequerimiento As New srvNegDetalleRequerimiento.srvNegDetalleRequerimiento
    '            requerimiento = Convert.ToInt64(hidRequerimiento.Value)

    '            bOk = oNegDetalleRequerimiento.fnObtener(2, "", hidCompania.Value, "", requerimiento, 0, Me.hidJobFunctionGroup.Value, oDsArticulosPedidos, sError)

    '            If Not bOk Then
    '                lblMensaje.Text = sError
    '            Else
    '                fnCargarColumnaAutorizada(oDsArticulosPedidos)
    '                Session("oDsArticulosPedidosAJ") = oDsArticulosPedidos
    '            End If
    '            Return bOk
    '        Catch ex As Exception
    '            lblMensaje.Text = C_MSG_ERROR_INESPERADO
    '            CreateLogFiles()
    '            ErrorLog(Server.MapPath("Logs/ErrorLog"), ex.Message + " " + ex.StackTrace)

    '        End Try
    '    End Function

    '    Private Sub fnCargarColumnaAutorizada(ByVal oDsArticulosPedidos As DataSet)
    '        Dim dr As DataRow
    '        For Each dr In oDsArticulosPedidos.Tables(0).Rows
    '            dr.Item(C_DG_ARTICULOS_CANTIDAD_AUTORIZA) = dr.Item(C_DG_ARTICULOS_CANTIDAD_A_PEDIR)
    '            'dr.Item(C_DG_ARTICULOS_COMENTARIO) = ""
    '        Next
    '    End Sub
    '    Private Sub fnPrepararFilaSeleccionada(ByVal _item As System.Web.UI.WebControls.DataGridItem, ByVal _itemSel As System.Web.UI.WebControls.DataGridItem)
    '        Dim txtMontoRefSoles As TextBox = _item.FindControl("txtMontoRefSoles")
    '        Dim txtMontoRefDolares As TextBox = _item.FindControl("txtMontoRefDolares")
    '        Dim txtCantidadAutorizada As TextBox = _item.FindControl("txtCantidadAutorizada")
    '        Dim HypMotivoDescripcion As HyperLink = _item.FindControl("HypMotivoDescripcion")
    '        Dim HypUltimaCompra As HyperLink = _item.FindControl("HypUltimaCompra")
    '        Dim btnComentarioLinea As ImageButton = _item.FindControl("btnComentarioLinea")
    '        Dim lblCantidadPedida As Label = _item.FindControl("lblCantidadPedida1")
    '        Dim hdnMotivoDetalle As HtmlInputHidden = _item.FindControl("hdnMotivoDetalle")
    '        Dim chkAprobacion As CheckBox = _itemSel.FindControl("chkAprobacion2")
    '        Dim chkDesaprobacion As CheckBox = _itemSel.FindControl("chkDesaprobacion2")
    '        Dim lblArticulo As Label = _item.FindControl("lblArticulo1")

    '        '[EVENTOS]

    '        hidUltimaCompra.Value = lblArticulo.Text

    '        Dim txtMontoRefSoles_onKeyUp As String = _
    '            String.Format("javascript:ActualizarMontoRef({0},'{1}','{2}');", 1, txtMontoRefSoles.ClientID, txtMontoRefDolares.ClientID)
    '        txtMontoRefSoles.Attributes.Add("onChange", txtMontoRefSoles_onKeyUp)

    '        Dim txtMontoRefSoles_onBlur As String = _
    '            String.Format("javascript:MontoRef_LostFocus('{0}');", txtMontoRefSoles.ClientID)
    '        txtMontoRefSoles.Attributes.Add("onBlur", txtMontoRefSoles_onBlur)

    '        Dim txtMontoRefSoles_onKeyPress As String = _
    '             "javascript:IngresoSoloDecimalEnLinea(event);"
    '        txtMontoRefSoles.Attributes.Add("onkeypress", txtMontoRefSoles_onKeyPress)

    '        Dim txtMontoRefDolares_onKeyUp As String = _
    '            String.Format("javascript:ActualizarMontoRef({0},'{1}','{2}');", 2, txtMontoRefSoles.ClientID, txtMontoRefDolares.ClientID)
    '        txtMontoRefDolares.Attributes.Add("onChange", txtMontoRefDolares_onKeyUp)

    '        Dim txtMontoRefDolares_onBlur As String = _
    '            String.Format("javascript:MontoRef_LostFocus('{0}');", txtMontoRefDolares.ClientID)
    '        txtMontoRefDolares.Attributes.Add("onBlur", txtMontoRefDolares_onBlur)

    '        Dim txtMontoRefDolares_onKeyPress As String = _
    '             "javascript:IngresoSoloDecimalEnLinea(event);"
    '        txtMontoRefDolares.Attributes.Add("onkeypress", txtMontoRefDolares_onKeyPress)

    '        Dim txtCantidadAutorizada_onBlur As String = _
    '            String.Format("javascript:MontoRef_LostFocus('{0}');", txtCantidadAutorizada.ClientID)
    '        txtCantidadAutorizada.Attributes.Add("onBlur", txtCantidadAutorizada_onBlur)

    '        Dim txtCantidadAutorizada_onKeyPress As String = _
    '             "javascript:IngresoSoloDecimalEnLinea(event);"
    '        txtCantidadAutorizada.Attributes.Add("onkeypress", txtCantidadAutorizada_onKeyPress)

    '        Dim HypMotivoDescripcion_onClick As String = _
    '            String.Format("if (!fnRaiseClientEvent(false)) return false; MostrarMotivoDesaprobacion('{0}');", hdnMotivoDetalle.ClientID)
    '        HypMotivoDescripcion.NavigateUrl = HypMotivoDescripcion_onClick

    '        Dim HypUltimaCompra_onClick As String = _
    '                   String.Format("if (!fnRaiseClientEvent(false)) return false; MostrarUltimaCompra('{0}');", lblArticulo)
    '        HypUltimaCompra.NavigateUrl = HypMotivoDescripcion_onClick

    '        'Dim chkAprobacion_onClick As String = _
    '        '    String.Format("if (!fnRaiseServerEvent(false)) return false; return chkAprobacion_onClick('{0}');", chkAprobacion.ClientID)
    '        'chkAprobacion.Attributes.Add("onClick", chkAprobacion_onClick)

    '        'Dim chkDesaprobacion_onClick As String = _
    '        '    String.Format("if (!fnRaiseServerEvent(false)) return false; return chkDesaprobacion_onClick('{0}');", chkDesaprobacion.ClientID)
    '        'chkDesaprobacion.Attributes.Add("onClick", chkDesaprobacion_onClick)


    '        Dim chkAprobacion_onClick As String = _
    '            String.Format("if (!fnRaiseServerEvent(false)) return false; chkAprobacion_onClick('{0}');", chkAprobacion.ClientID)
    '        chkAprobacion.Attributes.Add("onClick", chkAprobacion_onClick)

    '        Dim chkDesaprobacion_onClick As String = _
    '            String.Format("if (!fnRaiseServerEvent(false)) return false; chkDesaprobacion_onClick('{0}');", chkDesaprobacion.ClientID)
    '        chkDesaprobacion.Attributes.Add("onClick", chkDesaprobacion_onClick)


    '        ''[VALIDATORS]
    '        Dim rfvMontoRefSoles As RequiredFieldValidator = _item.FindControl("rfvMontoRefSoles")
    '        rfvMontoRefSoles.Text = "1."
    '        rfvMontoRefSoles.ErrorMessage = "1." + C_MSG_RFV_MONTO_SOL

    '        Dim rfvMontoRefDolares As RequiredFieldValidator = _item.FindControl("rfvMontoRefDolares")
    '        rfvMontoRefDolares.Text = "2."
    '        rfvMontoRefDolares.ErrorMessage = "2." + C_MSG_RFV_MONTO_DOL

    '        Dim cvCantidadAutorizada As CompareValidator = _item.FindControl("cvCantidadAutorizada")
    '        cvCantidadAutorizada.Text = "3."
    '        cvCantidadAutorizada.ControlToCompare = ""
    '        cvCantidadAutorizada.ValueToCompare = lblCantidadPedida.Text
    '        cvCantidadAutorizada.ErrorMessage = "3." + C_MSG_CV_CANTIDAD_AUTORIZADA

    '        Dim rfvCantidadAutorizada As RequiredFieldValidator = _item.FindControl("rfvCantidadAutorizada")
    '        rfvCantidadAutorizada.Text = "4."
    '        rfvCantidadAutorizada.ErrorMessage = "4." + C_MSG_RFV_CANTIDAD_AUTORIZADA

    '        '''En Caso Apruebe el Articulo...


    '        If chkAprobacion.Checked = True Then

    '            txtMontoRefSoles.Visible = True
    '            txtMontoRefDolares.Visible = True
    '            txtCantidadAutorizada.Visible = True
    '            rfvMontoRefSoles.Enabled = True
    '            rfvMontoRefDolares.Enabled = True
    '            cvCantidadAutorizada.Enabled = True
    '            If Convert.ToDouble(lblCantidadPedida.Text) > Convert.ToDouble(txtCantidadAutorizada.Text) Then
    '                HypMotivoDescripcion.Visible = True
    '            Else
    '                HypMotivoDescripcion.Visible = False
    '            End If


    '        ElseIf chkDesaprobacion.Checked = True Then

    '            txtMontoRefSoles.Visible = False
    '            txtMontoRefDolares.Visible = False
    '            If txtCantidadAutorizada.Text = 0 Then
    '                txtCantidadAutorizada.Visible = True
    '            Else
    '                txtCantidadAutorizada.Visible = False
    '            End If

    '            HypMotivoDescripcion.Visible = True
    '            rfvMontoRefSoles.Enabled = False
    '            rfvMontoRefDolares.Enabled = False
    '            cvCantidadAutorizada.Enabled = False
    '        Else

    '            txtMontoRefSoles.Visible = False
    '            txtMontoRefDolares.Visible = False
    '            txtCantidadAutorizada.Visible = False

    '            HypMotivoDescripcion.Visible = False
    '            rfvMontoRefSoles.Enabled = False
    '            rfvMontoRefDolares.Enabled = False
    '            cvCantidadAutorizada.Enabled = False
    '        End If

    '    End Sub
    '    Private Function fnValidadArticulo(ByVal Aprueba As Boolean, ByVal Desaprueba As Boolean, ByVal montoSoles As String, ByVal montoDolares As String, ByVal motivo As String, ByVal cantidadPedida As String, _
    '    ByVal cantidadAutorizada As String, ByVal HypMotivoDescripcion As HyperLink) As Boolean
    '        Dim bOk As Boolean = False

    '        '1. VALIDACIONES CUANDO APRUEBA EL ARTICULO
    '        If Aprueba Then
    '            If Convert.ToDouble(montoSoles) <= 0 Or Convert.ToDouble(montoDolares) <= 0 Then
    '                lblMensaje.Text = C_MSG_RFV_COSTOSREFERENCIALES
    '            ElseIf Convert.ToDouble(cantidadAutorizada <= 0) Then
    '                lblMensaje.Text = C_MSG_RFV_CANTIDADAUTORIZADA
    '            Else
    '                bOk = True
    '            End If
    '        End If

    '        '2. VALIDACIONES CUANDO DESAPRUEBA EL ARTICULO
    '        'If Desaprueba Then
    '        '    If motivo = "" Then
    '        '        lblMensaje.Text = C_MSG_RFV_MOTIVODESAPROBACION
    '        '    Else
    '        '        bOk = True
    '        '    End If
    '        'End If

    '        '2. VALIDACION PARA MOTIVO DESAPROBACION

    '        If HypMotivoDescripcion.Visible Then
    '            If motivo.Trim = "" Then
    '                bOk = False
    '                lblMensaje.Text = C_MSG_RFV_MOTIVODESAPROBACION
    '            Else
    '                bOk = True
    '            End If
    '        End If

    '        '3. EN CASO NO HAYA SELECCIONADO SI APRUEBA O NO
    '        If Not Aprueba And Not Desaprueba Then
    '            lblMensaje.Text = "El requerimiento posee al menos una fila que no ha sido Aprobada o Desaprobada."
    '        End If

    '        Return bOk

    '    End Function
    '    Private Function fnValidaPagina() As Boolean

    '        'RECORRER POR CADA ARTICULO
    '        Dim i As Integer = 0
    '        For i = 0 To dtgGrilla.Items.Count - 1
    '            Dim _item As DataGridItem = dtgGrilla.Items(i)

    '            '1. CARGAR LOS CONTROLES DEL ARTICULO
    '            Dim hidObservacion As HtmlInputHidden = _item.FindControl("hidObservacion")
    '            Dim hdnMotivoDetalle As HtmlInputHidden = _item.FindControl("hdnMotivoDetalle")
    '            Dim txtMontoRefSoles As TextBox = _item.FindControl("txtMontoRefSoles")
    '            Dim txtMontoRefDolares As TextBox = _item.FindControl("txtMontoRefDolares")
    '            Dim txtDetalleTecnico As TextBox = _item.FindControl("txtDetalleTecnico")
    '            Dim txtCantidadAutorizada As TextBox = _item.FindControl("txtCantidadAutorizada")
    '            Dim lblCantidadPedida As Label = _item.FindControl("lblCantidadPedida1")
    '            Dim chkAprobacion As CheckBox = _item.FindControl("chkAprobacion")
    '            Dim chkDesaprobacion As CheckBox = _item.FindControl("chkDesaprobacion")
    '            Dim HypMotivoDescripcion As HyperLink = _item.FindControl("HypMotivoDescripcion")

    '            '2. VALIDAR EL ARTICULO
    '            If Not fnValidadArticulo(chkAprobacion.Checked, _
    '                                    chkDesaprobacion.Checked, _
    '                                    txtMontoRefSoles.Text, _
    '                                    txtMontoRefDolares.Text, _
    '                                    hdnMotivoDetalle.Value, _
    '                                    lblCantidadPedida.Text, _
    '                                    txtCantidadAutorizada.Text, _
    '                                    HypMotivoDescripcion) Then
    '                Return False
    '                Exit Function
    '            End If

    '            '3. ACTUALIZAR LA INFORMACION DEL DATAROW OBTIENDO DATA DE LOS CONTROLES
    '            Dim drArticulo As DataRow
    '            drArticulo = oDsArticulosPedidos.Tables(0).Rows(i)

    '            drArticulo(C_DG_ARTICULOS_FLG_APROBACION) = chkAprobacion.Checked
    '            drArticulo(C_DG_ARTICULOS_FLG_DESAPROBACION) = chkDesaprobacion.Checked
    '            drArticulo(C_DG_ARTICULOS_COMENTARIO) = hidObservacion.Value
    '            drArticulo(C_DG_ARTICULOS_DETALLE_TECNICO) = txtDetalleTecnico.Text()
    '            If chkAprobacion.Checked Then
    '                drArticulo(C_DG_ARTICULOS_MONTO_SOL) = txtMontoRefSoles.Text
    '                drArticulo(C_DG_ARTICULOS_MONTO_DOL) = txtMontoRefDolares.Text
    '                drArticulo(C_DG_ARTICULOS_CANTIDAD_AUTORIZA) = txtCantidadAutorizada.Text
    '                drArticulo(C_DG_ARTICULOS_MOTIVO_DESAPROB) = ""
    '            ElseIf chkDesaprobacion.Checked Then
    '                drArticulo(C_DG_ARTICULOS_MONTO_SOL) = 0
    '                drArticulo(C_DG_ARTICULOS_MONTO_DOL) = 0
    '                drArticulo(C_DG_ARTICULOS_CANTIDAD_AUTORIZA) = 0
    '                drArticulo(C_DG_ARTICULOS_MOTIVO_DESAPROB) = hdnMotivoDetalle.Value
    '            End If

    '        Next

    '        Return True

    '    End Function
    '    Public Sub btnComentarioLinea_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs)
    '        Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent
    '        Dim hidObservacion As HtmlInputHidden = _item.FindControl("hidObservacion")
    '        Session("C_DG_ARTICULOS_COMENTARIO") = hidObservacion.Value

    '        hidIndLoad.Value = hidObservacion.ClientID

    '        'RegisterClientScriptBlock("prueba", "<script language='javascript'> alert('" + hidObservacion.Value + "'); </script>")

    '        Dim MostrarComentario As String = _
    '            String.Format("<script>if(document.getElementById('hidIndLoad')) document.getElementById('hidIndLoad').value='{0}';</script>", hidObservacion.ClientID)

    '        Page.RegisterClientScriptBlock("comentario", MostrarComentario)
    '    End Sub
    '    Private Sub btnGrabar_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnGrabar.Click
    '        Try
    '            '1. VALIDAR LA PAGINA
    '            If Not Page.IsValid Then Exit Sub
    '            If Not fnValidaPagina() Then Exit Sub

    '            Dim cadenaEmail As String
    '            Dim bOk As Boolean
    '            Dim sError As String
    '            Dim oNegRequerimiento As New srvNegRequerimiento.srvNegRequerimiento

    '            '2. ACTUALIZAR LA CABECERA
    '            bOk = oNegRequerimiento.fnActualizarRequerimiento_AprobTecnica(1, "", hidCompania.Value, Convert.ToInt64(Me.txtNumeroRequisicion.Text), Me.hidComentario.Value, System.DateTime.Today, Me.hidUsuario.Value, Me.txtCampo1.Text, Me.txtCampo2.Text, Me.txtCampo3.Text, Me.txtCampo4.Text, Me.txtCampo5.Text, oDsArticulosPedidos, sError)

    '            If Not bOk Then
    '                lblMensaje.Text = sError
    '                Exit Sub
    '            End If

    '            cadenaEmail = fnGeneraCadenaEmail()
    '            Dim proceso As String
    '            Dim oUltimusInt As New UltimusInt.UltIntegration
    '            Dim nIncident As Integer
    '            Dim oArrVariables(8) As UltimusInt.Variable

    '            '3. CARGAR LAS VARIABLES EN ULTIMUS
    '            Dim obj1 As Object() = {Me.txtNumeroRequisicion.Text}
    '            oArrVariables(0) = New UltimusInt.Variable
    '            oArrVariables(0).strVariableName = "V_nRequerimiento"
    '            oArrVariables(0).objVariableValue = obj1

    '            Dim obj2 As Object() = {hidCompania.Value}
    '            oArrVariables(1) = New UltimusInt.Variable
    '            oArrVariables(1).strVariableName = "V_sCompania"
    '            oArrVariables(1).objVariableValue = obj2

    '            Dim obj3 As Object() = {cadenaEmail}
    '            oArrVariables(2) = New UltimusInt.Variable
    '            oArrVariables(2).strVariableName = "V_sCadenaMailAprobJefatura"
    '            oArrVariables(2).objVariableValue = obj3

    '            Dim obj4 As Object() = {Me.hidUsuarioUltimus.Value}
    '            oArrVariables(3) = New UltimusInt.Variable
    '            oArrVariables(3).strVariableName = "V_sUsuarioAprobacionJefatura"
    '            oArrVariables(3).objVariableValue = obj4

    '            Dim obj5 As Object() = {Me.txtCampo1.Text}
    '            oArrVariables(4) = New UltimusInt.Variable
    '            oArrVariables(4).strVariableName = "V_sCampo1"
    '            oArrVariables(4).objVariableValue = obj5

    '            Dim obj6 As Object() = {Me.txtCampo2.Text}
    '            oArrVariables(5) = New UltimusInt.Variable
    '            oArrVariables(5).strVariableName = "V_sCampo2"
    '            oArrVariables(5).objVariableValue = obj6

    '            Dim obj7 As Object() = {Me.txtCampo3.Text}
    '            oArrVariables(6) = New UltimusInt.Variable
    '            oArrVariables(6).strVariableName = "V_sCampo3"
    '            oArrVariables(6).objVariableValue = obj7

    '            Dim obj8 As Object() = {Me.txtCampo4.Text}
    '            oArrVariables(7) = New UltimusInt.Variable
    '            oArrVariables(7).strVariableName = "V_sCampo4"
    '            oArrVariables(7).objVariableValue = obj8

    '            Dim obj9 As Object() = {Me.txtCampo5.Text}
    '            oArrVariables(8) = New UltimusInt.Variable
    '            oArrVariables(8).strVariableName = "V_sCampo5"
    '            oArrVariables(8).objVariableValue = obj9

    '            proceso = Me.hidProceso.Value

    '            '4. ENVIAR EL STEP
    '            bOk = oUltimusInt.SubmitTask(hidTaskId.Value, hidUsuarioUltimus.Value, "Requerimiento: " + Me.txtNumeroRequisicion.Text, hidIncidente.Value, oArrVariables, sError)

    '            If Not bOk Then
    '                lblMensaje.Text = "Ocurrió un error al intentar enviar el incidente. con usuario: " + hidUsuarioUltimus.Value + " proceso:" + hidTaskId.Value + sError
    '                Exit Sub
    '            End If

    '            lblMensaje.Text = ""
    '            Session("oDsArticulosPedidosAJ") = Nothing
    '            RegisterClientScriptBlock("Cerrar", "<script language='javascript'> { window.parent.close();} </script>")
    '        Catch ex As Exception
    '            lblMensaje.Text = C_MSG_ERROR_INESPERADO
    '            CreateLogFiles()
    '            ErrorLog(Server.MapPath("Logs/ErrorLog"), ex.Message + " " + ex.StackTrace)

    '        End Try
    '    End Sub

    '    Private Function fnGeneraCadenaEmail() As String
    '        Dim sTipoArticulo As String
    '        Dim sArticulo As String
    '        Dim bAprobados As Boolean = False
    '        Dim bDesaprobados As Boolean = False

    '        Dim sCadenaIntermedia As String
    '        Dim sEmailArticulosAprobadas As String = "SE APROBARON LAS SIGUIENES LINEAS:" & vbCrLf & vbTab & "TIPO DE ARTICULO" & vbTab & vbTab & "ARTÍCULO" & vbCrLf
    '        Dim sEmailArticulosDesaprobadas As String = "SE DESAPROBARON LAS SIGUIENES LINEAS:" & vbCrLf & vbTab & "TIPO DE ARTICULO" & vbTab & vbTab & "ARTÍCULO" & vbCrLf
    '        Dim drArticulosPedidos As DataRow

    '        For Each drArticulosPedidos In oDsArticulosPedidos.Tables(0).Rows
    '            sArticulo = drArticulosPedidos.Item(C_DG_ARTICULOS_DESCRIPCION)
    '            sTipoArticulo = drArticulosPedidos.Item(C_DG_ARTICULOS_TIPOARTICULO)
    '            sCadenaIntermedia = vbTab & sTipoArticulo & vbTab & vbTab & vbTab & vbTab & vbTab & sArticulo & vbCrLf

    '            If drArticulosPedidos.Item(C_DG_ARTICULOS_FLG_APROBACION) = "True" Or drArticulosPedidos.Item(C_DG_ARTICULOS_FLG_APROBACION) = "1" Then
    '                sEmailArticulosAprobadas = sEmailArticulosAprobadas & sCadenaIntermedia
    '                bAprobados = True
    '            Else
    '                sEmailArticulosDesaprobadas = sEmailArticulosDesaprobadas & sCadenaIntermedia
    '                bDesaprobados = True
    '            End If
    '        Next
    '        sCadenaIntermedia = ""
    '        If bAprobados Then
    '            sCadenaIntermedia = sEmailArticulosAprobadas & vbCrLf & vbCrLf
    '        End If
    '        If bDesaprobados Then
    '            sCadenaIntermedia = sCadenaIntermedia & sEmailArticulosDesaprobadas
    '        End If

    '        Return sCadenaIntermedia
    '    End Function
    '    Private Sub fnHabilitarDeshabilitarCamposGrilla(Optional ByVal pbAprobarTodos As Boolean = False, Optional ByVal pbDesaprobarTodos As Boolean = False)
    '        Dim _item As DataGridItem

    '        Dim chkAprobacion1 As CheckBox
    '        Dim chkDesaprobacion1 As CheckBox
    '        Dim i As Integer = 0

    '        For Each _item In Me.dtgGrilla.Items
    '            If _item.ItemType = ListItemType.SelectedItem Or _
    '               _item.ItemType = ListItemType.AlternatingItem Or _
    '               _item.ItemType = ListItemType.Item Then

    '                Dim btnComentarioLinea As ImageButton = _item.FindControl("btnComentarioLinea")
    '                Dim hidObservacion As HtmlInputHidden = _item.FindControl("hidObservacion")
    '                Dim HypMotivoDescripcion As HyperLink = _item.FindControl("HypMotivoDescripcion")
    '                Dim hdnMotivoDetalle As HtmlInputHidden = _item.FindControl("hdnMotivoDetalle")
    '                Dim txtMontoRefSoles As TextBox = _item.FindControl("txtMontoRefSoles")
    '                Dim txtMontoRefDolares As TextBox = _item.FindControl("txtMontoRefDolares")
    '                Dim txtCantidadAutorizada As TextBox = _item.FindControl("txtCantidadAutorizada")
    '                Dim lblCantidadPedida As Label = _item.FindControl("lblCantidadPedida1")

    '                Dim rfvMontoRefSoles As RequiredFieldValidator = _item.FindControl("rfvMontoRefSoles")
    '                Dim rfvMontoRefDolares As RequiredFieldValidator = _item.FindControl("rfvMontoRefDolares")
    '                Dim cvCantidadAutorizada As CompareValidator = _item.FindControl("cvCantidadAutorizada")
    '                Dim rfvCantidadAutorizada As RequiredFieldValidator = _item.FindControl("rfvCantidadAutorizada")

    '                chkAprobacion1 = Me.dtgGrilla.Items(i).FindControl("chkAprobacion")
    '                chkDesaprobacion1 = Me.dtgGrilla.Items(i).FindControl("chkDesaprobacion")

    '                Dim pbAprobar As Boolean = False, pbDesaprobar As Boolean = False

    '                If (pbAprobarTodos Or pbDesaprobarTodos) Then
    '                    If pbAprobarTodos Then
    '                        pbAprobar = True
    '                    Else
    '                        pbDesaprobar = True
    '                    End If
    '                Else
    '                    If chkAprobacion1.Checked = True Then
    '                        pbAprobar = True
    '                    ElseIf chkDesaprobacion1.Checked = True Then
    '                        pbDesaprobar = True
    '                    End If
    '                End If
    '                If txtCantidadAutorizada.Text = 0 Then
    '                    pbDesaprobar = True
    '                    pbAprobar = False
    '                End If

    '                If pbAprobar Then
    '                    txtMontoRefSoles.Visible = True
    '                    txtMontoRefDolares.Visible = True
    '                    txtCantidadAutorizada.Visible = True
    '                    If Convert.ToDouble(lblCantidadPedida.Text) > Convert.ToDouble(txtCantidadAutorizada.Text) Then
    '                        HypMotivoDescripcion.Visible = True
    '                    Else
    '                        HypMotivoDescripcion.Visible = False
    '                    End If
    '                    ' HypMotivoDescripcion.Visible = False
    '                    rfvMontoRefSoles.Enabled = True
    '                    rfvMontoRefDolares.Enabled = True
    '                    cvCantidadAutorizada.Enabled = True

    '                    chkAprobacion1.Checked = True
    '                    chkDesaprobacion1.Checked = False
    '                ElseIf pbDesaprobar Then
    '                    txtMontoRefSoles.Visible = False
    '                    txtMontoRefDolares.Visible = False

    '                    If txtCantidadAutorizada.Text = 0 Then
    '                        txtCantidadAutorizada.Visible = True
    '                    Else
    '                        txtCantidadAutorizada.Visible = False
    '                    End If

    '                    HypMotivoDescripcion.Visible = True
    '                    rfvMontoRefSoles.Enabled = False
    '                    rfvMontoRefDolares.Enabled = False
    '                    cvCantidadAutorizada.Enabled = False

    '                    chkAprobacion1.Checked = False
    '                    chkDesaprobacion1.Checked = True
    '                Else
    '                    txtMontoRefSoles.Visible = False
    '                    txtMontoRefDolares.Visible = False
    '                    txtCantidadAutorizada.Visible = False

    '                    HypMotivoDescripcion.Visible = False
    '                    rfvMontoRefSoles.Enabled = False
    '                    rfvMontoRefDolares.Enabled = False
    '                    cvCantidadAutorizada.Enabled = False

    '                    chkAprobacion1.Checked = False
    '                    chkDesaprobacion1.Checked = False
    '                End If


    '            End If
    '            i = i + 1
    '        Next

    '    End Sub
    '    Private Sub btnCerrar_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnCerrar.Click
    '        Session("oDsArticulosPedidosAJ") = Nothing
    '        RegisterClientScriptBlock("Cerrar", "<script language='javascript'> { window.parent.close();} </script>")
    '    End Sub


    '    'Private Sub lnkMostrarTextosAdicionales_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '    '    If lnkMostrarTextosAdicionales.Text = "Mostrar" Then
    '    '        lnkMostrarTextosAdicionales.Text = "Ocultar"
    '    '        tblTextosAdicionales.Visible = True
    '    '    Else
    '    '        lnkMostrarTextosAdicionales.Text = "Mostrar"
    '    '        tblTextosAdicionales.Visible = False
    '    '    End If
    '    'End Sub
    '    'Private Sub lnkMostrarDocumentosSustento_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '    '    If lnkMostrarDocumentosSustento.Text = "Mostrar" Then
    '    '        lnkMostrarDocumentosSustento.Text = "Ocultar"
    '    '        tblDocumentosSustento.Visible = True
    '    '    Else
    '    '        lnkMostrarDocumentosSustento.Text = "Mostrar"
    '    '        tblDocumentosSustento.Visible = False
    '    '    End If
    '    'End Sub
    '    Public Sub fnActivarMotivoPorAutorizado(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '        Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent

    '        Dim chkAprobado As CheckBox = _item.FindControl("chkAprobacion")
    '        Dim chkDesaprobado As CheckBox = _item.FindControl("chkDesaprobacion")

    '        Dim lblCantidadPedida As Label = _item.FindControl("lblCantidadPedida1")
    '        Dim txtCantidadAutorizada As TextBox = _item.FindControl("txtCantidadAutorizada")
    '        Dim HypMotivoDescripcion As HyperLink = _item.FindControl("HypMotivoDescripcion")
    '        If Convert.ToDouble(lblCantidadPedida.Text) > Convert.ToDouble(txtCantidadAutorizada.Text) Then
    '            HypMotivoDescripcion.Visible = True
    '            If Convert.ToDouble(txtCantidadAutorizada.Text) = 0 Then
    '                chkAprobado.Checked = False
    '                chkDesaprobado.Checked = True
    '            Else
    '                chkDesaprobado.Checked = False
    '                chkAprobado.Checked = True
    '            End If
    '        Else
    '            HypMotivoDescripcion.Visible = False
    '            chkDesaprobado.Checked = False
    '            chkAprobado.Checked = True
    '        End If
    '        'fnPrepararFilaSeleccionada(_item, _itemSel)
    '        fnPrepararFilaSeleccionada_(_item)

    '    End Sub


    '    Private Sub fnPrepararGrillas()
    '        Dim i As Integer = 0
    '        For i = 0 To dtgGrilla.Items.Count - 1
    '            Dim _item As DataGridItem = dtgGrilla.Items(i)
    '            'Dim _itemSel As DataGridItem = dtgGrillaSel.Items(i)
    '            ' fnPrepararFilaSeleccionada(_item, _itemSel)

    '            fnPrepararFilaSeleccionada_(_item)

    '            Dim lblTipoArticulo1 As Label = _item.FindControl("lblTipoArticulo1")



    '            If lblTipoArticulo1.Text <> "" Then
    '                Dim img As System.Web.UI.WebControls.Image = _item.FindControl("imgTipoRequerimiento")
    '                If lblTipoArticulo1.Text = "Activo Fijo" Then
    '                    img.ImageUrl = "Imagenes/ActivoFijo.bmp"
    '                ElseIf lblTipoArticulo1.Text = "Servicio" Then
    '                    img.ImageUrl = "Imagenes/Servicio.bmp"
    '                ElseIf lblTipoArticulo1.Text = C_ID_TIPO_ARTICULO_NOMBRE_NINGUNO Then
    '                    img.ImageUrl = "Imagenes/Ninguno.bmp"
    '                ElseIf lblTipoArticulo1.Text = C_ID_TIPO_ARTICULO_NOMBRE_NO_INVENTARIABLE Then
    '                    img.ImageUrl = "Imagenes/NoBien.bmp"
    '                Else
    '                    img.ImageUrl = "Imagenes/Bien.bmp"
    '                End If
    '                img.AlternateText = lblTipoArticulo1.Text
    '            End If



    '        Next
    '    End Sub



    '    'metodos creados para el reemplazo de los checkbox

    '    Public Sub fnChkDesaprobacion_Changed(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '        Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent

    '        Dim chkAprobacion As CheckBox = _item.FindControl("chkAprobacion")
    '        Dim chkDesaprobacion As CheckBox = _item.FindControl("chkDesaprobacion")

    '        If chkDesaprobacion.Checked = True Then
    '            chkAprobacion.Checked = False
    '        End If

    '        fnPrepararFilaSeleccionada_(_item)
    '    End Sub

    '    Public Sub fnChkAprobacion_Changed(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '        Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent

    '        Dim chkAprobacion As CheckBox = _item.FindControl("chkAprobacion")
    '        Dim chkDesaprobacion As CheckBox = _item.FindControl("chkDesaprobacion")
    '        Dim txtCantidadAutorizada As TextBox = _item.FindControl("txtCantidadAutorizada")

    '        If txtCantidadAutorizada.Text <> 0 Then
    '            If chkAprobacion.Checked = True Then
    '                chkDesaprobacion.Checked = False
    '            End If
    '        Else
    '            chkAprobacion.Checked = False
    '            chkDesaprobacion.Checked = True
    '            Me.lblMensaje.Text = "No se puede aprobar filas con cantidad Autorizada cero."
    '        End If

    '        fnPrepararFilaSeleccionada_(_item)
    '    End Sub


    '    'Public Sub chkAprobarTodos_init_(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '    '    Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent

    '    '    Dim chkAprobarTodos As CheckBox = _item.FindControl("chkAprobarTodos_")
    '    '    Dim chkDesaprobarTodos As CheckBox = _item.FindControl("chkDesaprobarTodos_")
    '    '    hidChkAprobarTodasID.Value = chkAprobarTodos.ClientID

    '    '    Response.Write("chkAprobarTodos:" + chkAprobarTodos.Checked.ToString + "chkDesaprobarTodos" + chkDesaprobarTodos.Checked.ToString)
    '    '    Response.Write("chkAprobarTodos:" + chkAprobarTodos.ClientID.ToString + " chkDesaprobarTodos: " + chkDesaprobarTodos.ClientID.ToString)

    '    '    Dim chkAprobarTodos_click As String = _
    '    '        String.Format("chkAprobarTodos_click('{0}','{1}');", chkAprobarTodos.ClientID, chkDesaprobarTodos.ClientID)

    '    '    chkAprobarTodos.Attributes.Add("onclick", chkAprobarTodos_click)
    '    'End Sub

    '    'Public Sub chkDesaprobarTodos_init_(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '    '    Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent

    '    '    Dim chkAprobarTodos As CheckBox = _item.FindControl("chkAprobarTodos_")
    '    '    Dim chkDesaprobarTodos As CheckBox = _item.FindControl("chkDesaprobarTodos_")
    '    '    hidChkDesaprobarTodasID.Value = chkDesaprobarTodos.ClientID

    '    '    Dim chkDesaprobarTodos_click As String = _
    '    '        String.Format("chkDesaprobarTodos_click('{0}','{1}');", chkAprobarTodos.ClientID, chkDesaprobarTodos.ClientID)

    '    '    chkDesaprobarTodos.Attributes.Add("onclick", chkDesaprobarTodos_click)
    '    'End Sub

    '    Private nEstadoInit As Integer = 0
    '    Private Sub fnCargarChecksAprobaciones(ByVal _item As DataGridItem)
    '        Dim chkAprobarTodos As CheckBox = _item.FindControl("chkAprobarTodos_")
    '        Dim chkDesaprobarTodos As CheckBox = _item.FindControl("chkDesaprobarTodos_")

    '        hidChkDesaprobarTodasID.Value = chkDesaprobarTodos.ClientID
    '        hidChkAprobarTodasID.Value = chkAprobarTodos.ClientID

    '        'Dim chkDesaprobarTodos_click As String = _
    '        '    String.Format("if (!fnRaiseServerEvent(false)) return false; return chkDesaprobarTodos_click('{0}','{1}');", chkAprobarTodos.ClientID, chkDesaprobarTodos.ClientID)
    '        'Dim chkAprobarTodos_click As String = _
    '        '    String.Format("if (!fnRaiseServerEvent(false)) return false; return chkAprobarTodos_click('{0}','{1}');", chkAprobarTodos.ClientID, chkDesaprobarTodos.ClientID)

    '        Dim chkDesaprobarTodos_click As String = _
    '            String.Format("if (!fnRaiseServerEvent(false)) return false; chkDesaprobarTodos_click('{0}','{1}');", chkAprobarTodos.ClientID, chkDesaprobarTodos.ClientID)
    '        Dim chkAprobarTodos_click As String = _
    '            String.Format("if (!fnRaiseServerEvent(false)) return false; chkAprobarTodos_click('{0}','{1}');", chkAprobarTodos.ClientID, chkDesaprobarTodos.ClientID)


    '        chkDesaprobarTodos.Attributes.Add("onclick", chkDesaprobarTodos_click)
    '        chkAprobarTodos.Attributes.Add("onclick", chkAprobarTodos_click)

    '    End Sub
    '    Public Sub chkAprobarTodos_init_(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '        Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent

    '        If nEstadoInit = 0 Then
    '            nEstadoInit = 1
    '        Else
    '            fnCargarChecksAprobaciones(_item)
    '        End If
    '    End Sub
    '    Public Sub chkDesaprobarTodos_init_(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '        Dim _item As DataGridItem = CType(CType(sender, Control).Parent, TableCell).Parent

    '        If nEstadoInit = 0 Then
    '            nEstadoInit = 1
    '        Else
    '            fnCargarChecksAprobaciones(_item)
    '        End If
    '    End Sub


    '    Public Sub chkAprobarTodos_CheckedChanged_(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '        If sender.checked = True Then
    '            fnHabilitarDeshabilitarCamposGrilla(pbAprobarTodos:=True)
    '        End If
    '    End Sub
    '    Public Sub chkDesaprobarTodos_CheckedChanged_(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '        If sender.checked = True Then
    '            fnHabilitarDeshabilitarCamposGrilla(pbDesaprobarTodos:=True)
    '        End If
    '    End Sub

    '    Private Sub fnPrepararFilaSeleccionada_(ByVal _item As System.Web.UI.WebControls.DataGridItem)
    '        Dim txtMontoRefSoles As TextBox = _item.FindControl("txtMontoRefSoles")
    '        Dim txtMontoRefDolares As TextBox = _item.FindControl("txtMontoRefDolares")
    '        Dim txtCantidadAutorizada As TextBox = _item.FindControl("txtCantidadAutorizada")
    '        Dim HypMotivoDescripcion As HyperLink = _item.FindControl("HypMotivoDescripcion")
    '        Dim HypUltimaCompra As HyperLink = _item.FindControl("HypUltimaCompra")
    '        Dim btnComentarioLinea As ImageButton = _item.FindControl("btnComentarioLinea")
    '        Dim lblCantidadPedida As Label = _item.FindControl("lblCantidadPedida1")
    '        Dim hdnMotivoDetalle As HtmlInputHidden = _item.FindControl("hdnMotivoDetalle")
    '        Dim chkAprobacion As CheckBox = _item.FindControl("chkAprobacion")
    '        Dim chkDesaprobacion As CheckBox = _item.FindControl("chkDesaprobacion")
    '        Dim lblArticulo As Label = _item.FindControl("lblArticulo1")

    '        '[EVENTOS]

    '        hidUltimaCompra.Value = lblArticulo.Text

    '        Dim txtMontoRefSoles_onKeyUp As String = _
    '            String.Format("javascript:ActualizarMontoRef({0},'{1}','{2}');", 1, txtMontoRefSoles.ClientID, txtMontoRefDolares.ClientID)
    '        txtMontoRefSoles.Attributes.Add("onChange", txtMontoRefSoles_onKeyUp)

    '        Dim txtMontoRefSoles_onBlur As String = _
    '            String.Format("javascript:MontoRef_LostFocus('{0}');", txtMontoRefSoles.ClientID)
    '        txtMontoRefSoles.Attributes.Add("onBlur", txtMontoRefSoles_onBlur)

    '        Dim txtMontoRefSoles_onKeyPress As String = _
    '             "javascript:IngresoSoloDecimalEnLinea(event);"
    '        txtMontoRefSoles.Attributes.Add("onkeypress", txtMontoRefSoles_onKeyPress)

    '        Dim txtMontoRefDolares_onKeyUp As String = _
    '            String.Format("javascript:ActualizarMontoRef({0},'{1}','{2}');", 2, txtMontoRefSoles.ClientID, txtMontoRefDolares.ClientID)
    '        txtMontoRefDolares.Attributes.Add("onChange", txtMontoRefDolares_onKeyUp)

    '        Dim txtMontoRefDolares_onBlur As String = _
    '            String.Format("javascript:MontoRef_LostFocus('{0}');", txtMontoRefDolares.ClientID)
    '        txtMontoRefDolares.Attributes.Add("onBlur", txtMontoRefDolares_onBlur)

    '        Dim txtMontoRefDolares_onKeyPress As String = _
    '             "javascript:IngresoSoloDecimalEnLinea(event);"
    '        txtMontoRefDolares.Attributes.Add("onkeypress", txtMontoRefDolares_onKeyPress)

    '        Dim txtCantidadAutorizada_onBlur As String = _
    '            String.Format("javascript:MontoRef_LostFocus('{0}');", txtCantidadAutorizada.ClientID)
    '        txtCantidadAutorizada.Attributes.Add("onBlur", txtCantidadAutorizada_onBlur)

    '        Dim txtCantidadAutorizada_onKeyPress As String = _
    '             "javascript:IngresoSoloDecimalEnLinea(event);"
    '        txtCantidadAutorizada.Attributes.Add("onkeypress", txtCantidadAutorizada_onKeyPress)

    '        'if (!fnRaiseClientEvent(false)) return false;
    '        Dim HypMotivoDescripcion_onClick As String = _
    '            String.Format("javascript:MostrarMotivoDesaprobacion('{0}');", hdnMotivoDetalle.ClientID)
    '        HypMotivoDescripcion.NavigateUrl = HypMotivoDescripcion_onClick

    '        'if (!fnRaiseClientEvent(false)) return false; 
    '        Dim HypUltimaCompra_onClick As String = _
    '            String.Format("javascript:MostrarUltimaCompra('{0}');", lblArticulo.Text)
    '        HypUltimaCompra.NavigateUrl = HypUltimaCompra_onClick

    '        Dim chkAprobacion_onClick As String = _
    '            String.Format("if (!fnRaiseServerEvent(false)) return false; chkAprobacion_onClick('{0}');", chkAprobacion.ClientID)
    '        chkAprobacion.Attributes.Add("onClick", chkAprobacion_onClick)

    '        Dim chkDesaprobacion_onClick As String = _
    '            String.Format("if (!fnRaiseServerEvent(false)) return false; chkDesaprobacion_onClick('{0}');", chkDesaprobacion.ClientID)
    '        chkDesaprobacion.Attributes.Add("onClick", chkDesaprobacion_onClick)

    '        btnComentarioLinea.Attributes.Add("onClick", "if (!fnRaiseClientEvent(false)) return false;")

    '        ''[VALIDATORS]
    '        Dim rfvMontoRefSoles As RequiredFieldValidator = _item.FindControl("rfvMontoRefSoles")
    '        rfvMontoRefSoles.Text = "1."
    '        rfvMontoRefSoles.ErrorMessage = "1." + C_MSG_RFV_MONTO_SOL

    '        Dim rfvMontoRefDolares As RequiredFieldValidator = _item.FindControl("rfvMontoRefDolares")
    '        rfvMontoRefDolares.Text = "2."
    '        rfvMontoRefDolares.ErrorMessage = "2." + C_MSG_RFV_MONTO_DOL

    '        Dim cvCantidadAutorizada As CompareValidator = _item.FindControl("cvCantidadAutorizada")
    '        cvCantidadAutorizada.Text = "3."
    '        cvCantidadAutorizada.ControlToCompare = ""
    '        cvCantidadAutorizada.ValueToCompare = lblCantidadPedida.Text
    '        cvCantidadAutorizada.ErrorMessage = "3." + C_MSG_CV_CANTIDAD_AUTORIZADA

    '        Dim rfvCantidadAutorizada As RequiredFieldValidator = _item.FindControl("rfvCantidadAutorizada")
    '        rfvCantidadAutorizada.Text = "4."
    '        rfvCantidadAutorizada.ErrorMessage = "4." + C_MSG_RFV_CANTIDAD_AUTORIZADA

    '        '''En Caso Apruebe el Articulo...


    '        If chkAprobacion.Checked = True Then

    '            txtMontoRefSoles.Visible = True
    '            txtMontoRefDolares.Visible = True
    '            txtCantidadAutorizada.Visible = True
    '            rfvMontoRefSoles.Enabled = True
    '            rfvMontoRefDolares.Enabled = True
    '            cvCantidadAutorizada.Enabled = True
    '            If Convert.ToDouble(lblCantidadPedida.Text) > Convert.ToDouble(txtCantidadAutorizada.Text) Then
    '                HypMotivoDescripcion.Visible = True
    '            Else
    '                HypMotivoDescripcion.Visible = False
    '            End If


    '        ElseIf chkDesaprobacion.Checked = True Then

    '            txtMontoRefSoles.Visible = False
    '            txtMontoRefDolares.Visible = False
    '            If txtCantidadAutorizada.Text = 0 Then
    '                txtCantidadAutorizada.Visible = True
    '            Else
    '                txtCantidadAutorizada.Visible = False
    '            End If

    '            HypMotivoDescripcion.Visible = True
    '            rfvMontoRefSoles.Enabled = False
    '            rfvMontoRefDolares.Enabled = False
    '            cvCantidadAutorizada.Enabled = False
    '        Else

    '            txtMontoRefSoles.Visible = False
    '            txtMontoRefDolares.Visible = False
    '            txtCantidadAutorizada.Visible = False

    '            HypMotivoDescripcion.Visible = False
    '            rfvMontoRefSoles.Enabled = False
    '            rfvMontoRefDolares.Enabled = False
    '            cvCantidadAutorizada.Enabled = False
    '        End If

    '    End Sub
End Class
